home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-06-01 | 5.6 KB | 162 lines | [TEXT/MPS ] |
- UNIX specific information for dmake. This information is provided in the
- hope that it makes it easier to install and recompile dmake under UNIX.
- I will be happy to hear of erroneous information and will make every effort
- to correct it.
-
-
- 1. ENVIRONMENT VARIABLE SETTINGS
-
- There are many environment variable settings available for UNIX. Each
- option is described below.
-
- OS - unix
-
- OSRELEASE - bsd43 # generic BSD 4.3
- - solaris # Solaris environments
- - sysvr1 # System V R1
- - sysvr3 # System V R3
- - sysvr4 # System V R4
- - xenix # Xenix
- - 386ix # Sun IPX 386 boxen
- - coherent # Coherent...
- - qnx # QNX
-
- OSENVIRONMENT - uw # U of Waterloo mfcf environment for BSD4.3
- - vf # for environments needing vfprintf
- - pwd # for environments needing new pwd
- - gcc # for GCC compiles with Solaris2.3 and greater
-
-
- The table below lists valid combinations for settings of OS, OSRELEASE, and
- OSENVIRONMENT.
-
- OS OSRELEASE OSENVIRONMENT
- -- --------- -------------
- unix bsd43
- unix bsd43 uw
- unix bsd43 vf
- unix solaris
- unix solaris gcc
- unix sysvr1
- unix sysvr3
- unix sysvr3 pwd
- unix sysvr4
- unix xenix
- unix xenix pwd
- unix 386ix
- unix coherent
- unix qnx
-
- You must set OS and OSRELEASE, OSENVIRONMENT to correspond to one of the
- configurations in the above table.
-
-
- 2. IMPLEMENTATION NOTES
-
- Bootstrapping the binary:
- -------------------------
- A 'makefile' file is provided to bootstrap the binary. The file contains
- many targets for bootstrapping. Issuing 'make' will provide the list of
- possible targets that can be built. A restricted sample is shown below:
-
- INDEX: You must specify 'make target' where target is one of:
- -------------
- make bsd43 - Generic BSD 4.3 System
- make bsd43uw - Generic BSD 4.3 at U of Waterloo
- make bsd43vf - Generic BSD 4.3 that needs vfprintf
- make sysvr4 - Generic SysV R4 UNIX System
- make sysvr3 - Generic SysV R3 UNIX System
- make sysvr3pwd - Generic SysV R3 UNIX System, our PWD
- make sysvr1 - Generic SysV R1 UNIX System
- make dynix - Sequent DYNIX System
- make linux - Linux
- make ultrix - Ultrix 3.0 System
- make mips - Any MIPS System
- make coherent - Any Coherent System
- make hpux - HP Unix
- make 386ix - 386/ix (SysV R3) System
- make xenix - 386 Xenix System
- make xenixpwd - 386 Xenix System, our PWD
- make aix - IBM RS6000/AIX System
- make Solaris - SUN Solaris 1.0 to 2.0
- make Solaris2.1 - SUN Solaris 2.1 or greater
- make gccSolaris2.1 - SUN Solaris 2.1 or greater with gcc
-
- The above shows only the possible builds for UNIX like operating systems.
- Choose the one that best suits your needs and issue the command
-
- 'make target'
-
-
- Using dmake to Make itself:
- ---------------------------
- If you use dmake to make itself you must first set a number of makefile
- control variables, either through the environment or on the command line.
-
- The following variables must be set:
-
- OS - defines operating system (must be set)
- OSRELEASE - particular version of it.
- OSENVIRNOMENT - more customization
-
- These three variables should be defined in your environment. Valid values
- for UNIX are listed above in Section 1. You must chose one a setting from
- the table that best matches your system.
-
-
- .NAMEMAX and length fo file names:
- ----------------------------------
- dmake assumes that no file name component has a name longer than .NAMEMAX
- (an user-settable variable, see the man page). Files whose basename is
- longer than .NAMEMAX return a timestamp of 0 when statted. The reason for
- this test is to handle broken versions of stat that return non-zero times
- for stating files that are longer than the legal file name length but for
- which a file whose name is the legal maximum file name length and is a prefix
- of the longer name exists. This used to cause infinite loops in the inference
- engine.
-
- As a result the value of .NAMEMAX is important. dmake attempts to determine
- it at from your system header files when compiled however sometimes even these
- may be erroneous thus as a result as of dmake 4.0 users may set the value of
- .NAMEMAX to any value they wish.
-
-
- Library Name Length:
- --------------------
- By default the maximum length of library member names is defined in the the
- ar.h header file and is usually 14. Sun has extensions to this that allow
- for arbitrarily long member names. Currently dmake does not support this
- extension, although it will do so in the next release.
-
-
- UNIX Sysv R3 and getcwd:
- ------------------------
- Some versions of UNIX SysV R3 and Xenix use the popen call to capture the
- output of pwd when invoking the C library function getcwd(). These versions
- of the function cause dmake to terminate with the "lost a child" message
- due to the fact that the parent dmake process may catch the pwd and not
- recognize it as a child. For systems that have this problem use the version
- of dmake that supplies its own getcwd function. The settings are:
-
- OS = unix
- OSRELEASE = sysvr3
- OSENVIRONMENT = pwd
-
- It is directly available through the 'makefile' by typing one of:
-
- make sysvr3pwd
- make xenixpwd
-
- both include the getcwd code but the xenixpwd target compiles for a Xenix
- system.
-
-
- UNIX and "limits.h":
- --------------------
- Some compilers do not yet provide the "limits.h" file, if yours is one of
- these then simply copy the file "namemax.h" in the source root directory to
- "limits.h". Make sure the length of a file name is correctly set in
- "limits.h" as it is processed prior to "namemax.h".
-
-
-